package lib.bone.system.service;

import lib.bone.common.core.domain.ResponseDTO;
import lib.bone.system.domain.entity.SysRole;
import lib.bone.system.domain.entity.SysUser;

import java.util.List;

/**
 * @Author : kindear
 * @Date : 2021-12-13
 */
public interface SysUserRoleService {
    /**
     * 查询用户拥有角色
     */
    List<SysRole> getUserRoles(Long userId);
    /**
     * 查询角色拥有的用户
     */
    List<SysUser> getRoleUsers(Long roleId);
    /**
     * 为用户赋予角色
     */
    ResponseDTO grantUserRole(Long userId, Long roleId);
    /**
     * 为角色赋予用户
     */
    ResponseDTO grantRoleUser(Long roleId,Long userId);
    /**
     * 为用户赋予 N角色
     */
    ResponseDTO  grantUserRoles(Long userId,List<Long> roleIds);
    /**
     * 为角色赋予 N用户
     */
    ResponseDTO grantRoleUsers(Long roleId,List<Long> userIds);


    /** 为角色取消 N用户 **/
    ResponseDTO cancelRoleUsers(Long roleId,List<Long> userIds);
    /** 为角色删除 用户 **/
    ResponseDTO cancelRoleUser(Long roleId,Long userId);


}
